Hinweise

Folgende Hinweise sollen ihnen helfen, RPGUnit richtig anzuwenden und möglicherweise unerwartetes Verhalten richtig zu interpretieren.

Prinzipielle Arbeitsweise

Grundsätzlich bemüht sich RPGUnit die Arbeitsweise von JUnit exakt nachzubilden. Problematisch ist hierbei jedoch das überwachen von Programmanweisungen auf Fehler. Hierzu stehen im RPG zwei Möglichkeiten zur Verfügung.

Monitor Block

Der Aufruf einer RPGUnit Prüffunktion innerhalb eines Monitor-Blocks führt zu einem protokollierten Fehler. Dies entspricht exakt dem Verhalten von JUnit. Auch dort werden Fehler innerhalb eines try/catch Blocks erkannt und protokolliert.

Unproblematisch

monitor;

   // calculation statements
   
   aEqual( 'HelloWorld' : 'Hello' ); // correctly reported  

on-error;
   // error handler
endmon;

CALLP - Error Extender

Beim Aufruf der RPGUnit Prüffunktionen werden auftretende Fehler ignoriert, wenn der Aufruf über CALLP(E) erfolgt. Verzichten Sie daher beim auf den Error Extender (E) beim Aufruf der Prüffuktionen über CALLP.

Richtig

aEqual( 'HelloWorld' : 'Hello' );

callp aEqual( 'HelloWorld' : 'Hello' );

Falsch

callp(e) aEqual( 'HelloWorld' : 'Hello' ); // not reported by RPGUnit!